﻿using Sunny.UI.Win32;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using static System.Net.Mime.MediaTypeNames;
using static System.Net.WebRequestMethods;

namespace lyh.FG2JiaYaZhanDemo
{
    public class UV操作方法
    {

       //  中文文档： https://uv.doczh.com/configuration/files/
        //# 安装包时直接指定镜像源
        //        uv pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ <package-name>

        #region 1、UV的安装
        // https://uv.doczh.com/getting-started/installation/
        //如果从 PyPI 安装，我们建议将 uv 安装到隔离环境中，例如使用 pipx：
        //> pipx install uv  //安装uv，但是连接不到服务器
        //>pipx install -i https://pypi.tuna.tsinghua.edu.cn/simple/ uv  //清华大学镜像
        #endregion

        #region 2、Python 版本管理

        //uv python install: 安装 Python 版本
        //uv python list: 查看可用 Python 版本
        //uv python find: 查找已安装的 Python 版本
        //uv python pin: 将当前项目固定使用特定 Python 版本
        //uv python uninstall: 卸载 Python 版本

        //        安装最新版本的 Python：
        //uv python install

        //        安装特定版本的 Python：
        //uv python install 3.12

        //安装多个 Python 版本：
        //uv python install 3.11 3.12
        #endregion

        #region 3、创建虚拟环境
        #region 3.1、 uv 创建一个新的 Python 项目

        //        你可以使用 uv init 命令创建一个新的 Python 项目：
        //uv init hello-world
        //cd hello-world


        //或者，你也可以在当前工作目录中初始化一个项目：
        //mkdir hello-world
        //cd hello-world
        //uv init
        //uv 将创建以下文件：
        //.
        //├── .python-version
        //├── README.md
        //├── main.py
        //└── pyproject.toml
        //main.py 文件包含一个简单的 “Hello world” 程序。使用 uv run 命令来运行试试：
        //uv run main.py
        #endregion


        #region 3.2 uv添加、移除一个包

        //uv add flash fastapi  # 添加多个依赖项
        //             # 指定版本约束
        //uv add 'flash==2.31.0'

        //# 添加一个 Git 依赖项
        //uv add git+https://github.com/psf/requests

        //             要移除一个包，可以使用 uv remove：
        //uv remove requests

        //要升级一个包，可以使用带 --upgrade-package 标志的 uv lock 命令：
        //uv lock --upgrade-package requests

        #endregion

        //  uv sync 手动更新环境

        //# 从 `requirements.txt` 添加所有依赖项。
        //uv add -r requirements.txt -c constraints.txt

        // uv build 可用于为你的项目构建源发行版和二进制发行版（wheel）。


        #endregion
    }
}
